package com.ruoyi.system.Fdongbei.mapper.dibang;

import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.system.Fdongbei.domain.dibang.*;

import com.ruoyi.system.Fdongbei.domain.vo.reqvo.CarInfoReqVo;
import com.ruoyi.system.Fdongbei.domain.vo.reqvo.CarTotalInfoVo;
import com.ruoyi.system.Fdongbei.domain.vo.reqvo.XiangXiInfo;
import com.ruoyi.system.Fdongbei.domain.vo.reqvo.ZaiChangCheReqVo;
import com.ruoyi.system.Fdongbei.domain.vo.resvo.*;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface GuozhongDoMapper {
    int deleteByPrimaryKey(String czbh);

    int insert(GuozhongDo record);

    int insertSelective(GuozhongDo record);

    GuozhongDo selectByPrimaryKey(String czbh);

    int updateByPrimaryKeySelective(GuozhongDo record);

    int updateByPrimaryKeyWithBLOBs(GuozhongDo record);

    int updateByPrimaryKey(GuozhongDo record);

    int updateByCzbh(GuozhongDo record);

    //List<GuozhongDo> getCornCarShInfo(@Param("startDate") Date startDate, @Param("endDate")Date endDate, @Param("xcbm")String xcbm, @Param("chehao")String chehao);
    List<GuozhongDo> getCornCarShInfo(@Param("carInfoReqVo") CarInfoReqVo carInfoReqVo);

    List<CarInfoVo> getCornCarShInfo1(@Param("carInfoReqVo") CarInfoReqVo carInfoReqVo);


    List<CarInfoVo> getCornCarTradeInfo(@Param("carInfoReqVo") CarInfoReqVo carInfoReqVo);

    List<CarInfoVo> getCornCarSinotransInfo(@Param("carInfoReqVo") CarInfoReqVo carInfoReqVo);

    List<GuozhongDo> getCoalCarInfo(@Param("startDate") Date startDate, @Param("endDate")Date endDate, @Param("xcbm")String xcbm, @Param("chehao")String chehao,@Param("gysdm") String gysdm);

    List<GuozhongDo> getCoalTrainInfo(@Param("carInfoReqVo") CarInfoReqVo carInfoReqVo);

    List<CarInfoVo> getExportInfo(@Param("carInfoReqVo")CarInfoReqVo carInfoReqVo);

    List<CarInfoVo> getCheminalIndustryInfo(@Param("carInfoReqVo")CarInfoReqVo carInfoReqVo);

    //最主要
    List<CarInfoVo> getCarInfo(@Param("carInfoReqVo")CarInfoReqVo carInfoReqVo);

    Integer getSum(@Param("carInfoReqVo")CarInfoReqVo carInfoReqVo);

    List<CarTotalInfoResVo> getTotalInfo(@Param("carInfoReqVo")CarTotalInfoVo carInfoReqVo);

    Integer getTotalSum(@Param("carInfoReqVo")CarTotalInfoVo carInfoReqVo);

    List<ZaiChangCheResVo> getZaiChangInfo(@Param("p") ZaiChangCheReqVo zaiChangCheReqVo);

    Integer getZaiChangTotal(@Param("p") ZaiChangCheReqVo zaiChangCheReqVo);

    List<XiangXiResVo> getXiangXiInfo(@Param("p") XiangXiInfo xiangXiInfo);

    Integer getXiangxiTotal(@Param("p") XiangXiInfo xiangXiInfo);


    XiangXiAllResVo getByPrimaryKey(String czbh);
}